import {createRouter, createWebHistory} from 'vue-router'
import Layout from '../layout/Layout.vue'
import Dashboard from '../views/dashboard/Dashboard.vue'

import SongManage from '../views/song/SongManage.vue'
import PlaylistManage from '../views/playlist/PlaylistManage.vue'
import FeedbackManage from '../views/feedback/FeedbackManage.vue'
import BannerManage from '../views/banner/BannerManage.vue'
// import Login from '../views/login/Login.vue'
import SingerManagement from "@/views/Singer/SingerManagement.vue"; // 导入登录页组件
import Login from '../views/login/Login.vue'
import UserManage from "@/views/user/UserManage.vue";
import Comment from "@/views/comment/Comment.vue"; // 导入登录页组件

const routes = [
    {
        path: '/login',
        component: Login,
        meta: {requiresAuth: false}//无需登录
    },
    {
        path: '/',
        component: Layout,
        meta: {requiresAuth: true},   //需要登录
        children: [
            { path: '', redirect: 'dashboard' }, // 根路径重定向到首页
            { path: 'dashboard', component: Dashboard }, // 首页
            { path: 'user/index', component: UserManage },// 用户管理
            { path: 'singer/index', component: SingerManagement },//歌手管理
            { path: 'song/index', component: SongManage }, // 歌曲管理
            { path: 'playlist/index', component: PlaylistManage }, // 歌单管理
            { path: 'feedback/index', component: FeedbackManage }, // 反馈管理
            { path: 'banner/index', component: BannerManage }, // 轮播图管理
            { path: 'comment/index', component: Comment } // 评论管理
        ]
    }
]
const router = createRouter({
    history: createWebHistory(),
    routes
})

router.beforeEach((to, from, next) => {
    // 1. 读取登录状态（调试时先打印，确认是否正确读取）
    // const isLogin = localStorage.getItem('isLogin') === 'true'
    const token = sessionStorage.getItem('token')
    const isLogin = !!token
    console.log('当前登录状态:', isLogin, '要跳转的页面:', to.path)

    // 2. 明确哪些页面需要登录（白名单：只有登录页不需要登录）
    const whiteList = ['/login'] // 无需登录的页面
    const needLogin = !whiteList.includes(to.path)

    // 判断当前路由是否需要登录
    if (to.meta.requiresAuth) {
        if (isLogin) {
            next() // 已登录，正常访问
        } else {
            // 未登录，跳转到登录页，并记录目标路径
            next(`/login?redirect=${to.fullPath}`)
        }
    } else {
        // 不需要登录的路由
        if (isLogin && to.path === '/login') {
            // 已登录却访问登录页，自动跳首页
            next('/dashboard')
        } else {
            next()
        }
    }

//
//     if (needLogin && !isLogin) {
//         // 需登录但未登录 → 强制跳登录页
//         next('/login')
//     } else if (to.path === '/login' && isLogin) {
//         // 已登录却访问登录页 → 自动跳首页
//         next('/dashboard')
//     } else {
//         // 其他情况正常跳转
//         next()
//     }
})

export default router
// 路由跳转后触发（用于调试）
router.afterEach((to, from) => {
    console.log('路由已跳转：', '从', from.path, '到', to.path)
})

